home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / User Contributions / zebu v3.3.3 (LALR parser) / zebu-slr.lisp < prev    next >
Encoding:
Text File  |  1994-09-12  |  1.6 KB  |  53 lines  |  [TEXT/ttxt]

  1. ; -*- mode:     CL -*- ----------------------------------------------------- ;
  2. ; File:         zebu-slr.l
  3. ; Description:  Conversion to CL of the original Scheme program by (W M Wells)
  4. ; Author:       Joachim H. Laubsch
  5. ; Created:       1-Nov-90
  6. ; Modified:     Thu Jan 28 12:17:17 1993 (Joachim H. Laubsch)
  7. ; Language:     CL
  8. ; Package:      ZEBU
  9. ; Status:       Experimental (Do Not Distribute) 
  10. ; RCS $Header: $
  11. ;
  12. ; (c) Copyright 1990, Hewlett-Packard Company
  13. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  14. ; Revisions:
  15. ; RCS $Log: $
  16. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. ;;;             Copyright (C) 1989, by William M. Wells III
  18. ;;;                         All Rights Reserved
  19. ;;;     Permission is granted for unrestricted non-commercial use.
  20.  
  21. ;;;
  22. ;;; Do all needed to build an slr table starting with a lisp syntax grammar.
  23. (in-package "ZEBU")
  24.  
  25. (defun slr-tables-from-grammar (file-name)
  26.   (load-grammar file-name)
  27.   (calculate-empty-string-derivers)
  28.   (calculate-first-sets)
  29.   (calculate-follow-sets)
  30.   (make-lr0-collection)
  31.   (build-parse-tables nil)
  32.   file-name)
  33.  
  34.  
  35. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  36. ;;; test:
  37.  
  38. #||
  39. (slr-tables-from-grammar "ex1.zb")
  40. (format t "symbols: ~%")
  41. (cruise-symbols-2)
  42. (format t "productions: ~%")
  43. (print-productions)
  44. (format t "lr0 item sets: ~%")
  45. (print-collection nil)
  46. (format t "slr tables: ~%")
  47. (cruise-parse-tables)
  48. ||#
  49.  
  50. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  51. ;;                                End of zebu-slr.l
  52. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  53.